const json = [{
  c: '3',
  d: 3
}, {
  c: 3,
  d: '2'
}, {
  c: 3,
  d: '2'
}]

const uniqBy = (arr, fun) => {
  const ret = arr.reduce((acc, v) => {
    if (!acc.some(x => fun(v, x))) acc.push(v);
    return acc
  }, []);
  return ret
}

console.log(uniqBy(json, (x, y) => x.c === y.c))